#include <bits/stdc++.h>
#define int long long 
using namespace std;

const int maxn = 1e6 + 5;
int m, n;
int t[maxn];
int p[maxn];
int dp[maxn];
int gap;

void solve(){
	cin >> m >> n;
	for (int i=1;i<=n;i++) {
		cin >> t[i] >> p[i];
	}
	cin >> gap;
	m += gap; // 直接第一个也加上 间隔
	for (int i=1;i<=m;i++) {
		for (int j=1;j<=n;j++) {
			if (i>=t[j]+gap) {
				dp[i] = max(dp[i], dp[i-t[j]-gap]+p[j]);
			}
		}
	}
	cout << dp[m] << '\n';
}

signed main(){
	ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
	solve();
	return 0;
}
